select S.naam, S.adres
from STUDENT S
where not exists
(select *
from VAK V
where not exists
(select *
from RESULTAAT R
where V.vak_code = R.vak_code
and R.student_nr = S.student_nr));Uitvoer:
De meeste queries kunnen zowel met een join als met subqueries (met exists of een of andere vergelijkingsoperator, zoals in), uitgedrukt worden. Dit bovenstaande gedrocht vraagt om iedere student, waarvoor er geen vak bestaat, waarvoor die student geen resultaat heeft. Met andere woorden, studenten die voor alle vakken een resultaat hebben. Die zijn er in deze gegevensbank niet, vandaar de lege tabel als resultaat. Zo een not exists ... not-query is een voorbeeld van een query die niet alleen met joins uitgedrukt kan worden.